package ${conf.basePackage}.${table.camelName}.dao;

import java.util.List;
import java.util.Map;

import ${conf.basePackage}.${table.camelName}.model.${table.className};

/**
 * ${table.comment}DAO
 * @author ${conf.author}
 * @version ${conf.version}
 * @since ${conf.createDate}
 */
public interface ${table.className}DAO {

	/**
	 * 插入
	 */
	public int insert(${table.className} ${table.camelName});

	/**
	 * 批量插入
	 */
	public int insertBatch(List<${table.className}> ${table.camelName}List);

	/**
	 * 选择插入
	 */
	public int insertSelective(${table.className} ${table.camelName});

	/**
	 * 按主键ID查询
	 */
	public ${table.className} selectByPrimaryKey(long id);

	/**
	 * 按主键ID选择更新
	 */
	public int updateByPrimaryKeySelective(${table.className} ${table.camelName});

	/**
	 * 按主键ID更新
	 */
	public int updateByPrimaryKey(${table.className} ${table.camelName});

	/**
	 * 按参数查询
	 */
	public List<${table.className}> selectByParams(Map<String, Object> params);

	/**
	 * 按参数查询数量
	 */
    public int countByParams(Map<String, Object> params);

	/**
	 * 按主键ID删除
	 */
	public int deleteByPrimaryKey(long id);

	/**
	 * 按主键ID批量删除
	 */
	public int deleteBatchByPrimaryKey(List<Long> ids);
}